package com.lpf.api.controller;

import com.lpf.entity.AppEntity;
import com.lpf.mapper.AppMapper;
import com.lpf.utils.BaseRedisService;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import com.lpf.base.BaseApiService;
import com.lpf.base.ResponseBase;

@RestController
@RequestMapping("/openApi")
public class MemberController extends BaseApiService {

    @Autowired
    private BaseRedisService baseRedisService;
    @Autowired
    private AppMapper appMapper;

    @RequestMapping("/getUser")
    public ResponseBase getUser(String accessToken) {

        // 下面这些应该放到拦截器
        //----------------------------------------------------------------------------------------
        //// 1、获取对应的accessToken
        //if (StringUtils.isEmpty(accessToken)) {
        //    return setResultError("accessToken is null");
        //}
        //
        //// 2、使用accessToken查询redis对应的value（appId），如果没有获取到对应的appId，直接返回错误提示
        //String appId = (String) baseRedisService.getString(accessToken);
        //if (StringUtils.isEmpty(appId)) {
        //    return setResultError("this is accessToken invalid");
        //}
        //
        //// 3、如果使用accessToken查询redis，能够获取对应的value（appId），使用appId查询对应的app信息
        //AppEntity app = appMapper.findAppId(appId);
        //if (app == null) {
        //    return setResultError("not found app info");
        //}
        //
        //// 4、使用对应的appId查询数据库app信息，获取到is_flag状态，如果为1的情况下，直接不能调用下面。否则正常执行
        //int isFlag = app.getIsFlag();
        //if (isFlag == 1) {
        //    // 权限不足
        //    return setResultError("no permission");
        //}
        //----------------------------------------------------------------------------------------

        // 5、调用真实的业务代码
        return setResultSuccess("获取会员信息接口");
    }
}
